java如何正确执行密码while循环
我正在尝试创建一个register Jframe窗口来收集用户名和密码,现在我正在尝试创建一个条件,如果密码不等于confirm password(确认密码)字段,则让用户键入一个匹配的新密码。我不断收到Jpane错误消息的垃圾邮件,在我输入错误的密码后,它不会消失
我试过for循环、Do while循环和regular while循环。我试过一些方法
这只是创建JLabel
JLabel Register = new JLabel("Register");
下一部分是让Jlabel与用户交互
Register.setCursor(Cursor.getPredefinedCursor(Cursor.HAND_CURSOR));
Register.addMouseListener(new MouseAdapter() {
@Override
public void mouseClicked(MouseEvent e) {
当点击Register时,会发生一些事情
这是我为跟踪用户输入而创建的4个变量
String password = passwordField.getText();
String confirmpass = passwordField_1.getText();
String name = userName.getText();
String email = createEmail.getText();
这是我开始do while循环以确认密码是否匹配的地方,我会让它重复
do {
JOptionPane.showMessageDialog(null, "Passwords do not match", "Login Error", JOptionPane.ERROR_MESSAGE);
password = "";
confirmpass = "";
}while(password == confirmpass);
dispose();
//System.out.println("Testing the Register Button lol or label " + name);
}
我希望能够有一个条件,确保密码匹配,然后退出屏幕。如果可能的话,还可以向我展示一种将用户输入从JFrame存储到数组中的方法
# 1 楼答案
用if语句替换do-while循环
如果密码不一样,do-while循环将毫无意义, 因为它们只会无休止地循环。此外,在比较字符串时,应该使用
equals()
方法,而不是使用==